From ca1291e418d71effd868909f90d3f9b5fd1b2565 Mon Sep 17 00:00:00 2001 From: Daniel van Vugt Date: Thu, 16 Dec 2021 15:36:43 +0800 Subject: [PATCH] windowManager: Unminimize a window to its buffer rect geometry If you slow down the unminimize animation you will notice it overshoots and then snaps back, but only for decorated windows. Undecorated windows would unminimize to their correct position. So we remove decorations from the equation and now all window types unminimize to their correct position. This wasn't noticeable because the unminimize animation velocity is usually so high at the end (EASE_IN_EXPO) that there are no frames rendered near the end of the curve to show it had overshot. This appears to be consistent with the Mutter source - associating the actor geometry with `buffer_rect` and not `frame_rect`. See `meta_window_actor_sync_actor_geometry` for example. Related to: https://bugzilla.gnome.org/show_bug.cgi?id=786789#c1 Part-of: --- js/ui/windowManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js index d3c4d2655..50bfbab69 100644 --- a/js/ui/windowManager.js +++ b/js/ui/windowManager.js @@ -1240,7 +1240,7 @@ var WindowManager = class { actor.set_scale(0, 0); } - let rect = actor.meta_window.get_frame_rect(); + let rect = actor.meta_window.get_buffer_rect(); let [xDest, yDest] = [rect.x, rect.y]; actor.show(); -- 2.39.5